<?php

class ConciliacionsController extends AppController {

    var $name = 'Conciliacions';
    var $uses = array('CartaOrden', 'Cliente', 'EntidadCrediticia');
    var $helpers = array('Formulario', 'Interfaz', 'AjaxAG');
    var $components = array('Interfaz', 'Maestro');
    var $layout = "ajax";
    var $paginate = array('limit' => 10, 'order' => array('CartaOrden.id' => 'DESC'));

    public function beforeFilter() {
        $this->validar_sesion();
    }
    
    public function afterFilter() {
        $this->auditoria();
    }

    public function nuevo(){
        $listaEntidades = $this->EntidadCrediticia->find('list', array('fields' => 'EntidadCrediticia.id, EntidadCrediticia.nombre', 'conditions' => array('EntidadCrediticia.estatus' => 1), 'order' => 'EntidadCrediticia.id'));
        $this->set('listaEntidades', $listaEntidades);
    }
    
     public function historial(){
        $this->autoRender = false;
    }


    public function guardar(){
        extract($this->request->data);
        $this->request->data['id'] = $this->request->data['id3'];
        $this->request->data['cliente_id'] = $this->request->data['cliente_id3'];
        $this->request->data['monto'] = $this->Interfaz->miles_postgres($this->request->data['monto']);
        $this->request->data['tienda_id'] = $this->Interfaz->id($this->Session->read('tienda_id_trabajo'));
        $this->request->data['usuario_id'] = $this->Interfaz->id($this->Session->read('usuario_id'));
        
        $tiendaSesion = $this->Session->read('tiendaBD');
        $objCarta = $this->Maestro->modelo('punto', 'CartaOrden', $tiendaSesion);
        $objCartaDet = $this->Maestro->modelo('punto', 'CartaOrdenDetalle', $tiendaSesion);
        $objCarta->query('BEGIN WORK');
        if ($objCarta->save($this->request->data)) {
            $cartaDetalle = array();
            foreach($montos as $indice => $valor){
                $cartaDetalle[$indice]['CartaOrdenDetalle']['carta_orden_id'] = $objCarta->id;
                $cartaDetalle[$indice]['CartaOrdenDetalle']['clasificacion_id'] = $clasificacion[$indice];
                $cartaDetalle[$indice]['CartaOrdenDetalle']['monto'] = $this->Interfaz->miles_postgres($valor);
            }
            
            if ($objCartaDet->saveAll($cartaDetalle)) {
                $tienda = substr($this->Session->read('codigo_punto'), 1);
                $res = $objCarta->query("select fn_numero_carta('$tienda', {$objCarta->id}, {$this->Session->read('punto_id')}) as res");
                $resultado = explode('|', $res[0][0]['res']);
                if ($resultado[0] == 'true') {
                    $objCarta->query('COMMIT');
                    echo "1_{$objCarta->id}_{$resultado[1]}";
                } else {
                    $objCarta->query('ROLLBACK');
                    echo "2_{$resultado[1]}";
                }
            }
        }
        
        $this->autoRender = false;
    }
}
